package com.ygqh.baby.observer.Observable;

import com.ygqh.baby.observer.ProductBookRecordPaidOrCancelObserver;
import com.ygqh.baby.observer.TrustoneOrderPaidOrCancelObserver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.Observable;

/**
 * 被观察者
 * 订单取消
* @ClassName: OrderPaySuccessObserver 
* @author (guohao)  
* @date 2018年7月3日 下午5:31:30 
* @version V1.0
 */
@Component
public class OrderCancelObservable extends Observable {

	@Autowired
	private TrustoneOrderPaidOrCancelObserver trustoneOrderPaidOrCancelObserver;
	@Autowired
	private ProductBookRecordPaidOrCancelObserver productBookRecordPaidOrCancelObserver;

	/**
	 * 初始化观察者
	* @Title: initObserver 
	* @return void    返回类型
	* @author （guohao） 
	* @throws
	* @date 2018年7月3日 下午8:13:32 
	* @version V1.0
	 */
	@PostConstruct
	private void initObserver() {
//		this.addObserver(trustoneOrderPaidOrCancelObserver);
		this.addObserver(productBookRecordPaidOrCancelObserver);
	}

	/**
	 * 支付回调中调用。会通知所有观察者去处理支付成功相关业务
	* @Title: paySuccess 
	* @return void    返回类型
	* @author （guohao） 
	* @throws
	* @date 2018年7月3日 下午5:30:48 
	* @version V1.0
	 */
	public void orderCancel() {
		this.setChanged();
		this.notifyObservers();
	}

}
